package 字符串;

/**
 * @author ssh
 * @date 2025/9/2
 * @description 给你两个字符串 haystack 和 needle ，请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标（下标从 0 开始）。如果 needle 不是 haystack 的一部分，则返回  -1 。
 */
public class 找出字符串中第一个匹配的下标 {

    public int strStr(String haystack, String needle) {
        int h = haystack.length();
        int n = needle.length();
        if (n == 0) return 0;

        for (int i = 0; i <= h-n; i++) {
            int j=0;
            while(j<n&&needle.charAt(j)==haystack.charAt(i+j)){
                j++;
            }
            if(j==n) return i;
        }
        return -1;
    }

    public static void main(String[] args) {
        // 测试代码
        String haystack = "hello";
        String needle = "ll";
        找出字符串中第一个匹配的下标 solution = new 找出字符串中第一个匹配的下标();
        int result = solution.strStr(haystack, needle);
        System.out.println(result); // 输出: 2
    }
}
